<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.7.14/vue.min.js"></script>
</head>
<body>
    <div id="root"> 
        <h2>今天天气很{{info}}</h2>
        <button @click="change">切换天气</button>
    </div>
    <script>
        Vue.config.productionTip = false;
        const vm= new Vue({
            el:'#root',
            data:{
                isHot:true,
            },
            computed:{
                info(){
                    return this.isHot ? "炎热":"寒冷 "
                }
            },
            methods: {
                change(){
                    this.isHot=!this.isHot;
                }
            },
            watch:{
                // 下面开始对isHot 进行监视
                isHot:{
                    immediate:true,//初始化时让handler调用一下
                    // handler后面时候被调用那？,当isHot发生改变时进行调用。
                    handler(newvalue,oldvalue){//这个参数，这里应该很明了了，不过这里也可以不要传参
                    console.log("ishot被修改了",newvalue,oldvalue);
                    }
                },
                info:{
                    // 下面这里可以对info进行监视 
                    handler(n,o){
                        console.log("info被修改了",n,o);
                    }
                }
            }
        })
/* 
        vm.$watch('isHot',{
            handler(){
                
            }
        })
*/

        /* 下面这个创建了实例之后进行监视 ，这里在2.7版本*/
        vm.$watch('isHot',{
            handler(){
                console.log('看这里来');
            }
        })

    </script>
</body>
</html>